package com.eshore.norm.pojo.po;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 网络列表
 *
 * @author: v-chenjl62
 * @date: 2024/1/11 8:50
 */
@NoArgsConstructor
@Data
public class NormNetworkPO {

    @JsonProperty("networks")
    private List<NetworksDTO> networks;

    @NoArgsConstructor
    @Data
    public static class NetworksDTO {
        @JsonProperty("tenant_id")
        private String tenantId;
        @JsonProperty("provider:physical_network")
        private String providerPhysicalNetwork;
        @JsonProperty("shared")
        private Boolean shared;
        @JsonProperty("port_security_enabled")
        private Boolean portSecurityEnabled;
        @JsonProperty("net_scope")
        private Object netScope;
        @JsonProperty("provider:segmentation_id")
        private Integer providerSegmentationId;
        @JsonProperty("description")
        private String description;
        @JsonProperty("provider:network_type")
        private String providerNetworkType;
        @JsonProperty("extra_dhcp_opts")
        private List<?> extraDhcpOpts;
        @JsonProperty("created_at")
        private String createdAt;
        @JsonProperty("segments")
        private List<?> segments;
        @JsonProperty("l2_adjacency")
        private Boolean l2Adjacency;
        @JsonProperty("availability_zone_hints")
        private List<?> availabilityZoneHints;
        @JsonProperty("updated_at")
        private String updatedAt;
        @JsonProperty("project_id")
        private String projectId;
        @JsonProperty("admin_state_up")
        private Boolean adminStateUp;
        @JsonProperty("subnets")
        private List<String> subnets;
        @JsonProperty("vlan_transparent")
        private Boolean vlanTransparent;
        @JsonProperty("id")
        private String id;
        @JsonProperty("revision_number")
        private Integer revisionNumber;
        @JsonProperty("ipv4_address_scope")
        private String ipv4AddressScope;
        @JsonProperty("availability_zones")
        private List<?> availabilityZones;
        @JsonProperty("is_default")
        private Boolean isDefault;
        @JsonProperty("mtu")
        private Integer mtu;
        @JsonProperty("tags")
        private List<String> tags;
        @JsonProperty("ipv6_address_scope")
        private String ipv6AddressScope;
        @JsonProperty("router:external")
        private Boolean routerExternal;
        @JsonProperty("name")
        private String name;
        @JsonProperty("qos_policy_id")
        private String qosPolicyId;
        @JsonProperty("dns_domain")
        private String dnsDomain;
        @JsonProperty("status")
        private String status;
    }
}
